package com.yuandian.business.monitor.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuandian.api.business_monitor.po.SqlAnalysisParams;
import com.yuandian.api.business_monitor.vo.SqlAnalysisDetailsVo;
import com.yuandian.api.business_monitor.vo.SqlAnalysisVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * sql分析
 *
 * @author zhoutian
 * @date 2020-12-17 17:08:42
 */
@Repository
public interface SqlAnalysisMapper {


    /**
     * 慢sql分析-查询数量
     *
     * @param params    查询参数对象
     * @param tableName 表名
     * @return 			结果集
     */
    Integer getCount(@Param("params") SqlAnalysisParams params,
					 @Param("tableName") String tableName);


    /**
     * 慢sql分析-查询sql分析表数据
     *
     * @param params    查询参数对象
     * @param tableName 表名
     * @return  		结果集
     */
    List<SqlAnalysisVo> getSqlAnalysisList(@Param("params") SqlAnalysisParams params,
										   @Param("tableName") String tableName);


	/**
	 * 慢sql分析-查询慢sql详情数据
	 * @param params		查询参数对象
	 * @param page			分页对象
	 * @param startTime		开始时间
	 * @param endTime		结束时间
	 * @param bussType		业务类型
	 * @return				结果集
	 */
    List<SqlAnalysisDetailsVo> getSqlAnalysisDetail(@Param("params") SqlAnalysisParams params,
													Page<SqlAnalysisDetailsVo> page,
													@Param("startTime") String startTime,
													@Param("endTime") String endTime,
													@Param("bussType") String bussType);
}
